package map;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * sort() 排序，
 * 自定义排序规则
 */
public class CollectionsDemo02 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("jack");
        list.add("queen");
        list.add("king");
        list.add("lucy");
        System.out.println("原始数据"+list);
        //对英文字符串排序时，会按首字母的ASCII码来排
        //若首字母相同，则比较第2个字母的ASCII码，以此类推
        Collections.sort(list);
        System.out.println("排序数据："+list);
        // Collections.sort(List list); 自然排序，底层代码排序规则
        // Collections.sort(List list,Comparator o); 自己定义规则排序
        List<String> names= new ArrayList<>();
        names.add("杜老师");
        names.add("小王老师");
        names.add("小泽老师很漂亮");
        names.add("孙老师很严厉");
        System.out.println("原始数据："+names);
        Collections.sort(names);
        System.out.println("原始排序："+names);
        Collections.sort(names, new Comparator<String>() {

            @Override
            public int compare(String o1, String o2) {
                return o1.length()-o2.length();// 负数 升序  0  正数 降序
            }
        });
        System.out.println("自定义排序："+names);

    }
}
